The present invention relates to an error correction technology to remove an error, in particular, to a digital data reproducing method, a digital data recording method, and apparatus using error correction by product code. In particular, the present invention relates to a data recording and reproducing method, and an apparatus for performing interleave in byte unit to the data consisting of multiple lines.
Although the present invention is widely applicable to digital data reproducing systems and recording systems that perform error correction by product code, it will be described here by citing a DVD data reproducing system and a data recording system as examples.
A DVD (digital versatile disc) is a medium which has about 7 times the capacity of a CD (compact disc). As a medium that records data on a DVD, there are DVD-RAM, DVD-R, and DVD-RW. Recordable media are becoming increasingly more popular, as seen in the recent growth of CD-R.
A format of DVD-RAM will be described below. In a present DVD, interleave is performed per row to the data consisting of multiple lines.
First, an overview of demodulation processing of recorded data on DVD-RAM will be shown by using FIG. 3. The main data 310 that has been recorded is divided into blocks of 2048 bytes. As shown in FIG. 4, each block includes 4 bytes of identification data (ID) 401, 2 bytes of IED (ID Error Detection Code) 402 that is an ID error detecting code parity, and 6 bytes of RSV (reservation bytes) 403 that is a reservation area, in addition to the main data (2048 bytes) for a data stream of 2060 bytes. Furthermore, 4 bytes of error detecting code parity (EDC) 404 is added to the end of a data stream of 2060 bytes. The resulting 2064 bytes constitute data unit 1 (before scramble) 304 and is organized into twelve rows of 172 bytes per row as shown in FIG. 4. Next, according to a scramble rule determined with the value of the ID part of the data unit 1, scramble processing is performed on the 2048 bytes of the main data part 310 to produce a data unit 1 (after scramble) 305. Sixteen instances of these data units (after scramble) 1 are combined to form a data field comprising 192 rows×172 columns bytes, e.g., (see data field 306 in FIG. 5. Next, 16 rows of Parity of Outer-code (PO) data are added (step 306) to the 192-row data field to produce a 208-row×172 column data field. Next, ten bytes of Parity of Inner-code (PI) is added (step 307) to each of the 208 rows, extending each row to 182 bytes, to form one ECC block. Then, a PO interleave operation to interleave the sixteen rows of PO data (182 bytes wide) with the original 192-row data field. More specifically, a PO row is added at the end of each instance of data unit 1 (i.e., twelve rows) in the 192-row data field to form sixteen 13-row data units 2 (step 308). After an 8/16 modulation operation is performed to convert the 8-bit data to 16-bit data, twenty-six SYNC codes are added, per one data unit 2 to form sixteen data units 3 (step 309).
Hereafter, each data unit configuration will be described in detail.
First, 2064 bytes of data are configured as shown in FIG. 4, comprising 2048 bytes of main data (310), 4 bytes of identification data (ID401), IED (ID error Detection Code) 402 that is an ID error detecting code parity, 6 bytes of RSV (reservation bytes) 403 that is a reservation area, and 4 bytes of EDC (error Detection Code) 404. A data unit (after scramble) 1 (305) is a data unit in which the 2064 bytes of data are organized as twelve rows of 172 bytes each, where the 2048 bytes of main data part are scrambled.
Sixteen data units (after scramble) 1 (306) constitute a 192 rows of 172 bytes each in a data field 306 and are configured by combining sixteen instances of data units 1 (305) as shown in FIG. 5.
An ECC block 307 is a unit of error correction processing in DVD and is a product code (known as a cross Reed Solomon code). The product code is formed as follows. As shown in FIG. 6, an outer-code is configured by defining sixteen data units 1 as information data and treating each of 172 columns as RS (208, 192, 17); thus 16 rows of parity of outer-code PO 502 are added as error correction data. After that, an inner-code is formed by treating the resulting 208 rows as RS (182, 172, 11) in the same direction as the direction of a main data list and the recording direction in a DVD (parity of inner-code PI 501 is added as error correction data). A data unit 2 (308) is a data unit after the formation of the ECC block 307, and is a 13-row×182 byte data unit that is configured by interleaving each of the sixteen rows of PO 502 among the data units as shown in FIG. 7.
A data unit 3 (309) is a data train obtained by adding eight kinds (SY0-SY7) of synchronizing signals 801 (SYNC) at the head of each block at every 91 bytes of the data unit 2 as shown in FIG. 8. For example, SY0 (SYNC code 0) in the head of the unit, SY1-SY4 cyclically inserted in the head of each row, and SYS, SY6 and SY7 inserted for identification of each row, and performing 8/16 modulation converting 8-bit data into 16-bit data. Moreover, it is possible to identify a position of data, which is reproduced, in the data unit 3 with the generating pattern of SYNC 801 from an addition method of this SYNC 801 at the time of reproduction.
After such conversion from the data unit 1 to the data unit 3, data modulated into a DVD is recorded with NRZI (Non Return to Zero) conversion being performed.
Moreover, the list of main recorded data on the DVD does not change during the data format conversion process such as scramble, ECC encoding, and PO interleave. Hence, the list and sequence of recorded data on the DVD are equal to the list and sequence of main data.
Therefore, the recorded data on DVD is reproduced in a reverse process of data processing performed in FIG. 3.
Hereafter, conventional data processing at the time of DVD reproduction will be described by using FIG. 9.
The 8/16 demodulation is performed while determining a position in the data unit 3 (902) by using SYNC 801, and the data unit 2 (903) is generated. Next, the PO interleave is reversed (deinterleaved) while determining a position of the data unit 2 in an ECC block by using ID 401, and an ECC block 901 corresponding to the ECC block 307 before error correction is formed.
The reproduction data from the DVD is susceptible to error from various factors. Hence, error correction to a maximum of 5 bytes per inner-code (normally, although each data constituting the code is expressed by “word” or “symbol” in error correction, here, the data is explained by using “byte” as an example of a data unit) is performed in the error correction to inner-code having the same list as a data list recorded in the DVD. The correction of an error, included in each outer-code, to a maximum of 16 bytes is performed, and error is removed by outer-code error correction. After that, error correction data PI 501 and PO 502 are removed from the ECC block 901, 16 data units 1 (305) shown in FIG. 5 is obtained.
The data of the data unit 1 (305) de-scrambled (304) and is restored into ID, IED, RSV and 2048 bytes of main data (303) again after performing the error detection processing by using EDC so as to verify that erroneous correction is not performed in the error correction processing.
The above is the overview of the data signal processing at the recording and reproduction of a DVD.
In the error correction processing in the reproduction of a DVD that is described by using FIG. 9, the error correction of a PI having an identical list with the one of the recorded data in the DVD is performed.
The relationship of data placement on DVD and data placement on ECC block is effective in view of making it possible to correct a comparatively long burst error by performing error correction, which uses a result as error position information in outer-code error correction after not letting errors, continuously arising as shown by black parts in FIG. 10C, dispersed, and several uncorrectable error arising in the inner-code error correction. The vanishing correction method is an error correction method of performing the correction by determining outer-code error positions using the correction result of the inner-code as described in this specification.
Nevertheless, an uncorrectable error arises in plenty of outer-codes when short burst errors randomly arising as shown by black parts in FIG. 10A pile on in a specific outer-code. Error correction is impossible for the burst error in the inner-code error correction, and the number of errors exceeds the number of correctable outer-code. (FIGS. 10B to 10D will be described later.)
Moreover, in connection with the increase of high-density recording data for increasing capacity, one or two bytes of error due to dust and scratches of a current DVD become a short burst error. Thus, the average length of time for error correction (byte length) increases, and it is estimated that the case that an uncorrectable error arises will increase.
As a countermeasure for these errors, there is an invention disclosed in JP-A-8-125548.
The invention disclosed in JP-A-8-125548 is a method of making a burst error dispersed in the entire product code by rearranging the predetermined data in the product code every several bytes. Nevertheless, in the product code having a ratio of inner-code to outer-code like a DVD, there is a problem of not being able to secure correction capability, which is equivalent to a conventional method, for a burst error over ten or more lines. This is because there is a case that, since the burst error is dispersed in the outer-code direction by performing the rearrangement between lines, an area of uncorrectable errors increases. On the other hand, the present invention does not let an error become dispersed in an outer-code direction because the present invention does not rearrange the data between lines, and hence it is possible to maintain the ability to correct for the burst error.
Moreover, this is different from the present invention in that a rearrangement range is the entire ECC block and arrangement rules are not changed every line.
Other countermeasures for these errors are described in JP-A-3-266264 and JP-A-9-54956. These inventions are going to raise the tolerance for an burst error by arranging words, included in code words in the column and row directions, so that the words may be mutually apart equally to or more than predetermined distance.
However, this invention is different from the present invention in that this invention does not change arrangement rules every line and performs rearrangement over plural lines, and there is a possibility of not being able to maintain the burst error length.